#include "linklist.cpp"  
int main()  
{  
    int l;  
    LinkNode  *h;  
    ElemType e;
    printf("单链表的基本运算如下：\n");  
    printf("初始单链表h\n");  
    InitList(h);  
    printf("依次采用尾插法插入a , b , c , d , e元素\n");  
    ListInsert(h , 1 , 'a');  
    ListInsert(h , 2 , 'b');  
    ListInsert(h , 3 , 'c');  
    ListInsert(h , 4 , 'd');  
    ListInsert(h , 5 , 'e');  
    printf("输出单链表h:");  
    DispList(h);  
    l=ListLength(h);  
    printf("单链表长度l=%d\n" , l);  
    printf("单链表h为%s\n" , (ListEmpty(h)?"空":"非空"));  
    GetElem(h , 3 , e);  
    printf("单链表的第3个元素=%c\n" , e);  
    printf ("元素a的位置=%d\n" , LocateElem(h , 'a'));  
    printf("在第4个元素位置上插入f元素\n");  
    ListInsert(h , 4 , 'f');  
    printf("输出单链表h:");  
    DispList(h);  
    printf("删除L的第3个元素\n");  
    ListDelete(h , 3 , e);  
    printf("输出单链表h:");  
    DispList(h);  
    printf("释放单链表h\n");  
    free(h);  
return 0;   
}   